package com.xiaoshuidi.cloud.module.iot.dal.model.callback;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author Sky
 * create 2019/12/17
 * email sky.li@ixiaoshuidi.com
 **/
@Data
public class ShangTangDeviceCallbackReqVO {
    /**
     * 第三方消息id
     */
    @Schema(description = "第三方消息id")
    private String messageId;

    /**
     * 识别记录推送类型 ：3000
     */
    @Schema(description = "识别记录推送类型")
    private String eventType;

    /**
     * 推送data对象
     */
    @Schema(description = "推送data对象")
    private ShangTangDeviceCallbackReqData data;



    @Data
    public class ShangTangDeviceCallbackReqData {
        /**
         * 识别记录id
         */
        private int id;

        /**
         * 被识别人id
         */
        private int userId;
        /**
         * 被识别人姓名
         */
        private String name;

        /**
         * 人员身份类型（1:员工,2:访客,3:陌生人,4:非活体,5:黑名单）
         */
        private int type;

        /**
         * 识别底图
         */
        private String avatar;

        /**
         * 进出方向
         */
        private int direction;

        /**
         * 识别分数
         */
        private double verifyScore;

        /**
         * 被识别人的接待人id（访客独有）
         */
        private int receptionUserId;

        /**
         * 被识别人的接待人姓名（访客独有）
         */
        private String receptionUserName;

        /**
         * 被识别人的人员组信息
         */
        private List<ShangTangDeviceCallbackReqDataGroup> groups;

        /**
         * 设备名称
         */
        private String deviceName;

        /**
         * 上传这条识别记录的设备LDID号
         */
        private String sn;

        /**
         * 识别时间，字符串格式
         */
        private String signDate;

        /**
         * 识别时间，时间戳格式
         */
        private long signTime;

        /**
         * 识别头像
         */
        private String signAvatar;

        /**
         * 识别大图
         */
        private String signBgAvatar;

        /**
         *
         */
        private int companyId;

        /**
         * 被识别人手机号
         */
        private String mobile;

        /**
         * 被识别人ic卡号
         */
        private String icNumber;

        /**
         * 被识别人身份证号（需解密）
         */
        private String idNumber;

        /**
         * 被识别人工号
         */
        private String jobNumber;

        /**
         * 备注
         */
        private String remark;

        /**
         * 核验模式（1、刷脸；2、二维码；3、刷卡；4：刷脸+刷卡；5：刷身份证；6：刷脸且刷身份证）
         */
        private int entryMode;

        /**
         * 识别记录时区
         */
        private String signTimeZone;

        /**
         * 证件照片
         */
        private String docPhoto;

        /**
         * 纬度
         */
        private int latitude;

        /**
         * 经度
         */
        private int longitude;

        /**
         * 地址
         */
        private String address;

        /**
         * 识别设备位置
         */
        private String location;

        /**
         * 识别记录异常类型；0-无;10001-人证不匹配;10002-人卡不匹配;10003-人码不匹配;20001-访客不在有效期内;20002-不在通行时间内；30001-无效身份证;30002-无效IC卡;30003-无效二维码;
         */
        private int abnormalType;

        private String userIcNumber;

        private String userIdNumber;


        /**
         * 推送data内 group 对象
         */
        @Data
        public class ShangTangDeviceCallbackReqDataGroup {
            private int id;
            private String name;
            private int type;
        }

    }
}
